1. Field of the Invention
The invention relates to computer assisted design (CAD) and in particular is a tool for assisting designers in making correct decisions about allocating dimensional and geometric tolerances for proper functioning of precision mechanical parts and assemblies.
2. Description of the Prior Art
Imperfections occur in manufacturing and they must be considered in design so that parts will assemble and function properly. A tolerance specifies the range of imperfections in size and shape that can be permitted for a part to be acceptable when in use. Because tolerances provide the description of all possible outcomes in the manufacture of an object or machine, they do describe all the possibilities for rejecting a part because of shape or size. Conventional tolerances describe only a selection of variations in position for a feature which are permitted by the specified tolerance(s), i.e. those variations that are in the directions of the dimensions. Geometric tolerances describe all the geometric ways that variations in sizes and shapes of features on parts can interact to influence the function of the parts or a machine in which those parts operate. These variations are not now well understood by many engineers in design and manufacturing.
Understanding the causes and effects of dimensional and geometric variations is a major concern in the design and manufacture of mechanical products. However, effective tools for assisting designers in allocating tolerances and identifying trade-offs during the design process do not exist today because of (a) a lack of integration between CAD systems and tolerance analysis software, and (b) the inability of the latter to treat dimensional and geometric tolerances in three dimensions consistently with ASME Y14.5 standard. Today's modern parametric CAD systems are limited to nominal geometry and idealized constraints; tolerances are supported superficially as textual attributes attached to geometric entities. Whereas parametric solid models in CAD are mathematically well grounded, geometric tolerance specifications are based on ad-hoc conventions collected from years of engineering practice. The attempt to retrofit a model to the tolerance standard has not gone far enough. The interface between CAD and tolerance analysis can be described as weak, at best. The scope of tolerance analysis is also not adequate to answer many of the designer's queries. The fundamental requirement for overcoming all of the above problems is a well formulated model, along with complementing computational models, to represent geometric variations of part entities and their inter-dependencies.
Designers are essentially concerned with the following dimension and tolerance (D&T) issues:                1. What mating conditions (clearance and form) are needed to achieve the intended function(s) satisfactorily?        2. Which dimensions and features contribute to variations of each mating condition and in what ways?        3. How to visualize all possible types of geometric variations and all combinations of such types?        4. How to optimally distribute (allocate) the allowable net variation at mating surfaces between all the contributing dimensions and geometric variations?        
What is needed is a method and apparatus for providing solutions to the questions 2-4.
Conventional tolerancing (AKA dimensional tolerancing) refers to the older practice of assigning plus and minus deviations to linear or angular dimensions. Geometric tolerancing refers to modern methods prescribed in the ANSI/ASME Y14.5 standard. The ANSI/ASME Y14.5 standard differs from conventional tolerancing in that (i) it uses explicit Datum Reference Frames (datum reference frame), (ii) Datum and Targets (D & T) are directed one way (datum controls target and not vice versa), and (iii) other types of nondimensional variations, such as form, profile, and runout, are also included.
Prior modeling of geometric tolerances and state of the art of commercial tolerance analysis software is described as follows. A variety of models have been proposed in recent years to represent geometric tolerances. They can be divided into five generic approaches: 1) parametric models, 2) offset zone models, 3) variational surface models, 4) kinematic models, and 5) degrees of Freedom (DOF) models.
In parametric CAD, the nominal shape and size is represented by a set of explicit dimensions and constraints from which a set of simultaneous equations are obtained. Solving these equations gives one or more values for the dependent dimensions. Tolerances are incorporated by allowing plus and minus variations in the dimensions. The method has been successful with two dimensional profiles. Application to the general three dimensional problem is limited because of (a) difficulty of solving constraint equations in three dimensional, and (b) the equations are written and solved for vertex positions, limiting application to only polyhedral parts. Form tolerances cannot be included, neither can datum reference frames nor directed datum-target relations. Indirect parameterization methods have also been developed to decouple model construction variables from datum and targets variables. Most current commercial software systems for tolerance analysis rely on this approach, e.g. SDRC/IDEAS, Cognition/Mechanical Advantage).
In offset zone models a tolerance zone is modeled as Boolean subtraction between maximal and minimal object volumes obtained by offsetting the object by amounts equal to the tolerances on either side. The construction of such a composite tolerance zone from boundary surfaces of the part does not allow one to model each type of variation separately, nor to study their interactions. Another problem is that some tolerances in the ASME standard, such as position, apply to axes or mid planes of toleranced features, not the boundary; these cannot be modeled by such offset zones. The effect of datum reference frames precedence is also not accounted for.
In the model using variational surfaces each surface is varied independently by changing the values of model variables from which surface coefficients are calculated; positions of the vertices and edges are computed from the surface variations. Form tolerances can be handled either by using higher degree surfaces than the nominal surface or surface triangulation. This model leads to some topological problems, such as maintenance of tangency and incidence conditions. This model, too, as the previous two described, is incompatible with the ASME tolerance standard Y14.5.
In kinematic models building on prior work to analyze tolerance stack-up in mechanisms using transformation matrices, the art has developed a kinematic model by representing each tolerance class (variation type) by a combination of kinematic joints. These combinations were then used to estimate geometric variations caused by feature tolerances. They have yet to show how this approach can be extended to combine the interaction of geometric variations with size dimensions. Also, Rule #1 of Y14.5 standard cannot be enforced. The ASME Standard, Y14.5 has been incorporated into BYU software which is in use at several companies, e.g. Texas Instrument, and Sandia.
In degree of freedom models it appears that during the time period 1988-1993, several groups and ASME were independently working on some form of spatial degree of freedom model to represent datum and targets. One prior art effort defined a general purpose symbolic system for reasoning about assemblies based on constraints and relative degrees of freedom. The determination of degrees of freedom of parts in an assembly, assembly feasibility based on nominal dimensions, and inference of component relative positions from joint conditions by symbolic reasoning have been demonstrated.
Another prior art effort developed an elaborate mathematical foundation for datum and targets as follows. Displacements and rotations that leave seven elementary surfaces (planes, cylinders, spheres, etc.) unchanged were determined. For each pair of the seven technologically and topologically related surfaces (TTRS) they elaborated the 28 different geometric relationships possible and the consequent remaining degrees of freedom for each combination. A displacement torsor was defined as a six dimensional vector, containing three rotation values and three translation values. For each tolerance related to a TTRS, the tolerance zone was represented as a torsor containing the non-invariant rotations and translations. They also demonstrated the minimum datum reference system needed for each tolerance type. However, this representation is unable to distinguish between variation resulting from size, form, and location. Also, datum precedence was not considered. Still another prior art effort used the more traditional geometric transformation matrices with homogeneous coordinates rather than torsors.
The ASME Y14.5.1 report also discusses the degrees of freedom idea in the context of reference frames needed. Displacement invariance of three basic elements were studied (points, lines, planes). All combinations of these three elements were enumerated; the reference system could be any one, two, or three of these basic elements. The part is assumed fixed, while the reference element(s) can move. The report concluded that there were only six possible dawn reference systems from the point of view of the type of geometric controls placed on the part. The report lists reference frames meaningful to some of the tolerance classes.
Five types of analyses are commonly commercially available: sensitivity, % contribution, worst case statistical, and Monte Carlo simulation. In all cases the objective is to look at the effect of geometric variations on a particular dimension or clearance of interest, which must then be expressed as a function of all contributing geometric variations. The function is linearized and partial derivatives calculated for each contributor; the derivatives give the local slope or sensitivity for each contributor. From the sensitivities worst case and variance can be determined. One error built into these systems is that all contributors are considered independent of each other. Systems also differ in what contributors are taken into account: plus and minus dimensions only, orientation, or form.
Two basic approaches are used for generating the function for the dimension of interest: procedural and variational. The procedural approach allows one to build models with unidirectional constraints that can be solved one at a time, while variational allows declarative modeling where constraints are highly coupled and solved simultaneously. Both approaches are based on parametric models, and thus have the limitations given before. The variational approach can only be used for solving equations in two dimensional, while the procedural approach cannot handle coupled constraints, in general because a step by step construction procedure must be specified to relate the dimension to be analyzed and the contributors.
Tolerance software is available both within CAD systems and from third parties. To the casual observer the capabilities of these systems may be misleading. Just because a system allows one to create ANSI/ASME symbolic tolerance frames and attach them to features on a drawing or solid model does not mean that those tolerances are used in stack up analysis. In many systems, the information from the tolerance frames is used only for making superficial checks on syntax, the number of datum entities, etc. In other cases, only the plus and minus dimensional tolerances are used in analyses, while geometric tolerances are ignored. At best, tolerance analysis is based on the same parameters and parametric equations as those used in geometry construction.
Commercial systems have many limitations, particularly the lack of full conformance to the Y14.5 standard. Form tolerances and datum precedence cannot be modeled. Rule #1 is not enforced. They interpret a parallelism tolerance as a single parameter instead of coupled location and orientation. These problems result from a lack of a fundamental model for geometric variations of imperfect parts.